echo -n "$1" | wc -c | sed 's/ //g' 什么意思

来源:百度知道 编辑:UC知道 时间:2024/05/12 11:07:33

我猜你打错了, 该是 echo -n "$1" | sed 's/ //g' | wc -c
echo -n "$1" 是不换行打印, sed 's/ //g' 是把全部空格去掉,
wc -c 是打印印出位元组数目, 如果wc -c 在前, sed 的命令是多余的,
例子如是

#! /bin/bash

if [ -n "$1" ] ; then
echo -n "$1" | sed 's/ //g' | wc -c
fi
user@minix-nb:~$ cat bb.sh
#! /bin/bash

if [ -n "$1" ] ; then
echo -n "$1" | wc -c | sed 's/ //g'
fi
user@minix-nb:~$ chmod +x aa.sh bb.sh
user@minix-nb:~$ ./aa.sh "abcde f"
6
user@minix-nb:~$ ./bb.sh "abcde f"
7
user@minix-nb:~$
user@minix-nb:~$ ./bb.sh "abcde f"
11
user@minix-nb:~$ ./aa.sh "abcdea f"
6
user@minix-nb:~$
user@minix-nb:~$ ./aa.sh "abcdef"
6
user@minix-nb:~$ ./bb.sh "abcdef"
6
user@minix-nb:~$

它这个一行的script 就是不把空格计算,只计算每个字